آیا بایستی از NET Standard. خداحافظی کنیم
با اعلان .NET 5 در سال پیشین و اعلانهای آتی طراحی سایت در مشهد منتهی به MSBuild 2020، یک پرسش بزرگی که پیش میاید این میباشد که چه اتفاقی برای " NET Standard." میفتد.
چرا ما NET Standard. را داشتیم
بیایید یک گام به عقب برگردانیم و ببینیم چه طور و چرا NET Standard. پدید آمد.
زمانی NET Core. برای نخستین دفعه منتشر شد، معضلی پیش آمد. ما تک تک این کتابخانهها را داریم که پیش از این برای NET Framework. مندرج میباشد، آیا حقیقتا میخواهیم تمامی آنهارا مجدد برای NET Core. بنویسیم؟ با اعتنا به اینکه اکثریت NET Core. اول بخشی از NET Framework. برای عمل cross platform بود، بخش اعظمی از signatureهای (امضاء) متدها و کلاسها یکسان بودند (تا جایی که خواهیم توانست بگوییم بیشتر آنها بودند).
بیایید یک نمونه بزنیم. بیایید بگوییم که می خواهیم فایلی را با به کار گیری از فراخوانی استاندارد File.ReadAllLines(string path) باطن کتابخانه خویش گشوده کنیم. در حال حاضر این حادثه می افتد که در شرایطیکه شما این کد را داخل NET Framework.، NET Core. یا این که حتی Mono بنویسید، این به عبارتی پارامترها را میگیرد (یک متغیر string path)، و به عبارتی چیز را برمیگرداند (یک آرایه حرفهای). اکنون چه گونه این تلاوت پوشه را فراخوانی مینماید که برای پلتهیبت خاصی میباشد (از جمله NET Core. و Mono ممکن میباشد دارنده کد خاصی برای مسیر پوشههای مک داشته باشند)، ولی فیض می بایست مدام یکسان باشد، یک آرایه فنای خطوط از فولدر.
پس در صورتیکه ما کتابخانهای داشته باشیم که کاری نمینماید جز اینکه یک پوشه را برای قرائت خطوط و برگرداندن آن گشوده مینماید، آیا حقیقتا بایستی این کتابخانه را یکسری توشه برای کادرورکهای متعدد منتشر کنیم؟ عالی، اینجا جایی میباشد که NET Standard. وارد می گردد. معمولیترین راه و روش برای تفکر کردن در خصوص آن، تعریفوتمجید لیستی از کلاسها و متدهایی میباشد که هر پلتهیبت برای اجرای آن موافقت مینماید. براین اساس چنانچه File.ReadAllLines() بخشی از استاندارد باشد، پس قادر خواهیم بود مطمئن شویم که کتابخانه ما میتواند تنها یک توشه تحت عنوان کتابخانه NET Standard. منتشر گردد، و روی یکسری پلتهیبت فعالیت نماید.
NET Standard. راهی برای پلتهیبتهای متفاوت NET. ارائه میدهد تا دستهای از signatureهای رایج اسلوب را به اشتراک بگذارند که به سازندگان کتابخانه این قابلیت و امکان را داده میباشد تا یک توشه کد را بنویسند و آن را بر روی پلتهیبتهای گوناگون انجام نمایند.
NET Standard. دیگر موردنیاز وجود ندارد
اکنون که ما به امروز رسیدهایم میشنویم که NET Standard. دیگر ما یحتاج وجود ندارد. و دو عامل اساسی برای این دستور وجود دارااست:
کوشش NET Core. از NET Framework. بالاتر رفته میباشد. یعنی ورژنهای تازه NET Standard. دشوار به دست می آیند.
در بالا، NET Core. زیرمجموعهای از همت NET Framework. بود. بدین ترتیب NET Standard. یک طریق حدودا اظهار گردیده بود، در صورتی شما کتابخانهای برای NET Framework. نوشتید، چطور شما می دانید که فارغ از پیکربندی خاصی برای NET Core. فعالیت خواهد کرد. آری، NET Standard. نیز تحت عنوان راهی برای دیدن تلاش در پلتهیبتهای دیگر مثل Mono، Xamarin، Silverlight و حتی Windows Phone به کارگیری میشد. البته ما فکر میکنیم بیشتر مفاد به کار گیری برای تطبیق NET Framework => .NET Core. بود.
به عبارتیطور که NET Core. قابلیت و امکانهای خویش را ساخت و ساز نموده است، اصولا هنوز هم سعی بر استحصال به تساوی خصوصیت با NET Framework. را داشت. براین اساس به محض تکثیر ورژن جدیدی از NET Core. در هر سال، ورژن جدیدی از NET Standard. نیز با آن منتشر میشد، که حدودا صرفا بهدنبال signatureهای متداول اسلوب در بین NET Framework <=> .NET Core بود. براین اساس در غایت NET Core. از NET Framework. بالاتر رفت، یا این که دستکم میگوید "ما هیچ چیز مازاد را حمل نمیکنیم. این مرحله اساسا NET Standard 2.0. میباشد.
ولی هویدا میباشد که NET Core. متوقف نمیشود و خصوصیتهای جدیدی به NET Core. اضافه میگردد که در NET Framework. نیستند. البته به روزهای NET Framework. در بالا معدود می باشند و مسافت در بین آن ها زیاد میباشد. براین اساس با اضافه شدن خصوصیتهای تازه به NET Core.، آیا آنها منطقی را میسازند تا به ورژن تازه استاندارد اضافه شوند با دقت به اینکه NET Framework. هیچ زمان آن استاندارد را پیادهسازی نخواهد کرد؟ تا حدی... یا این که دست کم آنان کارایی کردهاند. NET Standard 2.1. واپسین نشر استاندارد بود و به وسیله Mono و Xamarin پیادهسازی شد، البته خیر به وسیله NET Framework.
مرجع مقالات رسمی طراحی سایت...
ما را در سایت مرجع مقالات رسمی طراحی سایت دنبال می کنید
برچسب : طراحی سایت در مشهد, نویسنده : علی پور web01 بازدید : 132 تاريخ : دوشنبه 2 خرداد 1401 ساعت: 14:03